package com.wuzheng.wisgo.sanitation.cloud.repository.entity.job;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

/**
 * @author：hoipang
 * @date：Created in 2019-12-10
 * @description：作业道路
 * @modified By：
 * @version: 1.0
 */
@ApiModel(value = "JobRoad", description = "作业道路")
@TableName("ba_job_road")
public class JobRoad implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID")
    private String id;

    /**
     * 客户ID
     */
    @ApiModelProperty(value = "客户ID")
    @TableField("customer_id")
    private String customerId;

    /**
     * 道路名称
     */
    @ApiModelProperty(value = "道路名称")
    @TableField("road_name")
    private String roadName;

    /**
     * 道路起点名称
     */
    @ApiModelProperty(value = "道路起点名称")
    @TableField("road_start")
    private String roadStart;

    /**
     * 道路起点经度
     */
    @ApiModelProperty(value = "道路起点经度")
    @TableField("road_start_long")
    private Double roadStartLong;

    /**
     * 道路起点纬度
     */
    @ApiModelProperty(value = "道路起点纬度")
    @TableField("road_start_lat")
    private Double roadStartLat;

    /**
     * 道路终点名称
     */
    @ApiModelProperty(value = "道路终点名称")
    @TableField("road_end")
    private String roadEnd;

    /**
     * 道路终点经度
     */
    @ApiModelProperty(value = "道路终点经度")
    @TableField("road_end_long")
    private Double roadEndLong;

    /**
     * 道路终点纬度
     */
    @ApiModelProperty(value = "道路终点纬度")
    @TableField("road_end_lat")
    private Double roadEndLat;

    /**
     * 道路长度
     */
    @ApiModelProperty(value = "道路长度")
    @TableField("road_length")
    private Double roadLength;

    /**
     * 道路宽度
     */
    @ApiModelProperty(value = "道路宽度")
    @TableField("road_width")
    private Double roadWidth;

    /**
     * 道路类型id
     */
    @ApiModelProperty(value = "道路类型id")
    @TableField("lane_type_id")
    private String laneTypeId;

    /**
     * 道路类型
     */
    @ApiModelProperty(value = "道路类型")
    @TableField("lane_type")
    private String laneType;

    /**
     * 作业要求
     */
    @ApiModelProperty(value = "作业要求")
    @TableField("job_demand")
    private String jobDemand;

    /**
     * 作业级别
     */
    @ApiModelProperty(value = "作业级别")
    @TableField("job_level")
    private String jobLevel;

    /**
     * 最大限速
     */
    @ApiModelProperty(value = "最大限速")
    @TableField("max_limit_speed")
    private Double maxLimitSpeed;

    /**
     * 最低限速
     */
    @ApiModelProperty(value = "最低限速")
    @TableField("min_limit_speed")
    private Double minLimitSpeed;

    /**
     * GPS特征点数据（顺序排列的，地图的坐标点）
     */
    @ApiModelProperty(value = "GPS特征点数据（顺序排列的，地图的坐标点）")
    @TableField(value = "gps_features", el = "gpsFeatures, typeHandler=com.wuzheng.wisgo.sanitation.cloud.repository.handler.ArrayType2Handler")
    private String[] gpsFeatures;

    /**
     * GPS误差
     */
    @ApiModelProperty(value = "GPS误差")
    @TableField("gps_offset")
    private String gpsOffset;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 是否删除（0:未删除；1:删除）
     */
    @ApiModelProperty(value = "是否删除（0:未删除；1:删除）")
    @TableField("de_flag")
    private Boolean deFlag;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String creator;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    private String modifier;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @TableField("modify_time")
    private Date modifyTime;

    /**
     * IP地址
     */
    @ApiModelProperty(value = "IP地址")
    @TableField("ip_address")
    private String ipAddress;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getRoadName() {
        return roadName;
    }

    public void setRoadName(String roadName) {
        this.roadName = roadName;
    }

    public String getRoadStart() {
        return roadStart;
    }

    public void setRoadStart(String roadStart) {
        this.roadStart = roadStart;
    }

    public Double getRoadStartLong() {
        return roadStartLong;
    }

    public void setRoadStartLong(Double roadStartLong) {
        this.roadStartLong = roadStartLong;
    }

    public Double getRoadStartLat() {
        return roadStartLat;
    }

    public void setRoadStartLat(Double roadStartLat) {
        this.roadStartLat = roadStartLat;
    }

    public String getRoadEnd() {
        return roadEnd;
    }

    public void setRoadEnd(String roadEnd) {
        this.roadEnd = roadEnd;
    }

    public Double getRoadEndLong() {
        return roadEndLong;
    }

    public void setRoadEndLong(Double roadEndLong) {
        this.roadEndLong = roadEndLong;
    }

    public Double getRoadEndLat() {
        return roadEndLat;
    }

    public void setRoadEndLat(Double roadEndLat) {
        this.roadEndLat = roadEndLat;
    }

    public Double getRoadLength() {
        return roadLength;
    }

    public void setRoadLength(Double roadLength) {
        this.roadLength = roadLength;
    }

    public Double getRoadWidth() {
        return roadWidth;
    }

    public void setRoadWidth(Double roadWidth) {
        this.roadWidth = roadWidth;
    }

    public String getLaneTypeId() {
        return laneTypeId;
    }

    public void setLaneTypeId(String laneTypeId) {
        this.laneTypeId = laneTypeId;
    }

    public String getLaneType() {
        return laneType;
    }

    public void setLaneType(String laneType) {
        this.laneType = laneType;
    }

    public String getJobDemand() {
        return jobDemand;
    }

    public void setJobDemand(String jobDemand) {
        this.jobDemand = jobDemand;
    }

    public String getJobLevel() {
        return jobLevel;
    }

    public void setJobLevel(String jobLevel) {
        this.jobLevel = jobLevel;
    }

    public Double getMaxLimitSpeed() {
        return maxLimitSpeed;
    }

    public void setMaxLimitSpeed(Double maxLimitSpeed) {
        this.maxLimitSpeed = maxLimitSpeed;
    }

    public Double getMinLimitSpeed() {
        return minLimitSpeed;
    }

    public void setMinLimitSpeed(Double minLimitSpeed) {
        this.minLimitSpeed = minLimitSpeed;
    }

    public String[] getGpsFeatures() {
        return gpsFeatures;
    }

    public void setGpsFeatures(String[] gpsFeatures) {
        this.gpsFeatures = gpsFeatures;
    }

    public String getGpsOffset() {
        return gpsOffset;
    }

    public void setGpsOffset(String gpsOffset) {
        this.gpsOffset = gpsOffset;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Boolean getDeFlag() {
        return deFlag;
    }

    public void setDeFlag(Boolean deFlag) {
        this.deFlag = deFlag;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getModifier() {
        return modifier;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    @Override
    public String toString() {
        return "JobRoad{" +
                ", id=" + id +
                ", id=" + id +
                ", customerId=" + customerId +
                ", roadName=" + roadName +
                ", roadStart=" + roadStart +
                ", roadStartLong=" + roadStartLong +
                ", roadStartLat=" + roadStartLat +
                ", roadEnd=" + roadEnd +
                ", roadEndLong=" + roadEndLong +
                ", roadEndLat=" + roadEndLat +
                ", roadLength=" + roadLength +
                ", roadWidth=" + roadWidth +
                ", laneTypeId=" + laneTypeId +
                ", laneType=" + laneType +
                ", jobDemand=" + jobDemand +
                ", jobLevel=" + jobLevel +
                ", maxLimitSpeed=" + maxLimitSpeed +
                ", minLimitSpeed=" + minLimitSpeed +
                ", gpsFeatures=" + gpsFeatures +
                ", gpsOffset=" + gpsOffset +
                ", remark=" + remark +
                ", deFlag=" + deFlag +
                ", creator=" + creator +
                ", createTime=" + createTime +
                ", modifier=" + modifier +
                ", modifyTime=" + modifyTime +
                ", ipAddress=" + ipAddress +
                "}";
    }
}
